package com.example.demo.mapper;

import com.example.demo.entity.Userinfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Description:
 * User: 故我
 * Date: 2023-11-01
 * Time: 13:55
 */
@Mapper //随着项目加载而启动
public interface UserMapper {
    /**
     *  根据 ID 获取数据
     * @param id
     * @return
     */
    Userinfo getUserById(@Param("user_id") Integer id);

    /**
     *  获取全部的数据
     * @return
     */
    List<Userinfo> getAll();

    /**
     *  数据库添加一条数据
     * @param userinfo
     * @return  返回操作的数据条数
     */
    int add(Userinfo userinfo);

    /**
     * 添加一条数据并获取 id
     * @param userinfo
     * @return
     */
    int addGetId(Userinfo userinfo);

    /**
     *  修改用户姓名
     * @param userinfo
     * @return
     */
    int upUserinfo(Userinfo userinfo);

    /**
     *  删除用户的一条信息
     * @param id
     * @return
     */
    int delUserinfo(@Param("id") Integer id);

    List<Userinfo> getUserOrderBy(@Param("order") String order);

    Userinfo login(@Param("username") String username,@Param("password") String password);

    List<Userinfo> getUserByName(@Param("username") String username);

    int add2(Userinfo userinfo);

    int add3(Userinfo userinfo);

    List<Userinfo> getUserByParam(Userinfo userinfo);

    int update2(Userinfo userinfo);

    int dels(List<Integer> ids);
}
